What is blokada wyłączna?

Blokada Wyłączna (Exclusive Lock)

Blokada wyłączna, znana również jako ekskluzywnym zamkiem, jest mechanizmem kontroli współbieżności używanym w systemach baz danych i systemach operacyjnych. Jej głównym celem jest zapewnienie, że tylko jedna transakcja lub proces może uzyskać dostęp i modyfikować konkretny zasób (np. wiersz w tabeli bazy danych, plik) w danym momencie.

  • Cel: Zapobieganie konfliktom i zapewnienie integralności danych podczas współbieżnego dostępu.

  • Funkcjonowanie: Kiedy transakcja uzyskuje blokadę wyłączną na zasobie, żadna inna transakcja nie może uzyskać na nim żadnej blokady (ani wyłącznej, ani współdzielonej) do czasu, aż pierwsza transakcja zwolni blokadę.

  • Działanie: Umożliwia wyłącznie transakcji, która uzyskała blokadę, na modyfikowanie zasobu. Inne transakcje, które próbują uzyskać dostęp do tego samego zasobu, zostaną zablokowane (oczekujące) do czasu zwolnienia blokady.

  • Zastosowania: Blokada wyłączna jest używana głównie w operacjach zapisu (INSERT, UPDATE, DELETE) oraz operacjach, które wymagają spójności danych, takich jak transakcje finansowe.

  • Korzyści:

    • Zapewnia integralność danych.
    • Zapobiega utracie aktualizacji.
    • Umożliwia spójne modyfikacje.
  • Wady:

  • Implementacja: Blokady wyłączne są zazwyczaj implementowane w systemach baz danych za pomocą mechanizmów blokowania, takich jak blokady na poziomie wiersza (row-level locking) lub blokady na poziomie tabeli (table-level locking). Wybór zależy od granulacji zasobu, który ma być chroniony i wymagań dotyczących wydajności.